package com.benew.ntt.evaluate.listener

import android.content.Context
import com.benew.ntt.evaluate.sdk.EvalSDKConfig
import com.benew.ntt.evaluate.sdk.EvalSDKEntity
import com.benew.ntt.evaluate.sdk.EvalSDKHandler
import com.benew.ntt.evaluate.sdk.IEvalSDKListener

interface IEvalSDK {

    /**
     * 初始化
     */
    fun init(context: Context, evalListeners: MutableSet<IEvalSDKListener>?, evalHandler: EvalSDKHandler?)

    /**
     * 开始评测
     */
    fun startEval(entity: EvalSDKEntity)

    /**
     * 结束录音
     */
    fun stopRecord()

    /**
     * 取消评测
     */
    fun cancelEval()

    /**
     * 删除评测引擎
     */
    fun deleteEval()

    /**
     * 装换type
     */
    fun convertType(type: String?): String?
//
//    /**
//     * 启动评测,在准备中
//     */
//    fun onStartEval(entity: EvalSDKEntity)
//
//    /**
//     * 评测异常
//     */
//    fun onError(errorMsg: String)
//
//    /**
//     * 录音开始
//     */
//    fun onRecordStart()
//
//    /**
//     * 录音中...
//     */
//    fun onRecording(data: ByteArray, begin: Int, end: Int, decibel: Double)
//
//    /**
//     * 录音中...，
//     * @param result 单句评分结果
//     */
//    fun onProgress(result: String?)
//
//    /**
//     * 录音结束
//     */
//    fun onRecordEnd()
//
//    /**
//     * 评测结果
//     * @param result 整句评测结果
//     */
//    fun onEvalResult(result: String?)
//
//    /**
//     * 评测关闭
//     */
//    fun onEvalClose()
//
//    /**
//     * 录音文件生成
//     */
//    fun onRecordFile(filePath: String)
//
//    /**
//     * 评测超时
//     */
//    fun onTimeOut()
}